/*
 *  ShaderData.cpp
 *  glare
 *
 *  Created by sunjun on 11-6-14.
 *  Copyright 2011 sunstdio. All rights reserved.
 *
 */
//////////////////////////////////////////////////////////////////////////

#include <Engine.h>

//////////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////////

NAMESPACE_BEGIN(Engine)

//////////////////////////////////////////////////////////////////////////

  ShaderData::ShaderData(const CHAR* name) : Resource(name)
	{
    mHandle = NULL;
	}

	ShaderData::~ShaderData() 
	{
    if(mHandle)
    {
      RIDestroyShader(mHandle);
      mHandle = NULL;
    }
	}

	//////////////////////////////////////////////////////////////////////////

	/*
	====================
	Load
	====================
	*/
	VOID ShaderData::Load(const GData* data)
	{
    CHECK(mHandle==NULL && data);
    mHandle = RICreateShader(data->Ptr(), data->Size());
	}

//////////////////////////////////////////////////////////////////////////

NAMESPACE_END

//////////////////////////////////////////////////////////////////////////
